package com.woquyin.vo;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.beust.jcommander.internal.Lists;
import com.jfinal.plugin.activerecord.Model;
import com.jfinal.plugin.activerecord.Page;

/**
 * @author  heem
 * @create time 创建时间：2017年3月7日 下午4:33:41
 * @version 1.0
 * @since
 */
public class AppPage<T extends Model<T>> implements Serializable {

	private static final long serialVersionUID = 4330066424221911972L;

	/**
	 *
	 */
	public AppPage(Page<T> page) {
		this.list = page.getList();
		this.hasMore = !page.isLastPage();
		if (!list.isEmpty()) {
			int size = list.size();
			refreshTime = list.get(0).getDate("createTime");
			loadMoreTime = list.get(size - 1).getDate("createTime");
		}
	}

	/**
	 * 当前查询是否还有新数据
	 */
	private boolean hasMore;

	/**
	 * 数据集合
	 */
	private List<T> list = Lists.newArrayList();

	/**
	 * 下拉刷新 结果集合最新时间
	 */
	private Date refreshTime = new Date();

	/**
	 * 上下加载结果集里最久远的时间
	 */
	private Date loadMoreTime = new Date();

	/**
	 * 当前查询是否还有新数据
	 */
	public boolean isHasMore() {
		return hasMore;
	}

	/**
	 * @param 当前查询是否还有新数据
	 */
	public void setHasMore(boolean hasMore) {
		this.hasMore = hasMore;
	}

	/**
	 * 数据集合
	 */
	public List<T> getList() {
		return list;
	}

	/**
	 * @param 数据集合
	 */
	public void setList(List<T> list) {
		this.list = list;
	}

	/**
	 * 下拉刷新结果集合最新时间
	 */
	public Date getRefreshTime() {
		return refreshTime;
	}


	/**
	 * @param 下拉刷新结果集合最新时间
	 */
	public void setRefreshTime(Date refreshTime) {
		this.refreshTime = refreshTime;
	}


	/**
	 * 上下加载结果集里最久远的时间
	 */
	public Date getLoadMoreTime() {
		return loadMoreTime;
	}


	/**
	 * @param 上下加载结果集里最久远的时间
	 */
	public void setLoadMoreTime(Date loadMoreTime) {
		this.loadMoreTime = loadMoreTime;
	}


}
